home *** CD-ROM | disk | FTP | other *** search
- JOVE/MS-DOS Installation
-
- K. Mitchum 4/85
-
- INTRODUCTION
-
- Jove is an emacs-like editor written in C. Originally developed under
- Unix using the termcap interface, the sources have been modified to work
- with either termcap or dedicated driver, and under either Unix or
- MS-DOS.
-
-
- WHAT IS HERE
-
- All the sources are here with a few exceptions. The termcap cursor
- optimization in "jove-curs.c" has been elliminated, although the
- original can be substituted for "curs.c" with a few modifications. Users
- familiar with the original Jove sources will note that some
- rearrangements and additions have been made: all terminal i/o is
- localized to the files "curs.c" and "terms.c" with dedicated driver routines
- in a separate file. A driver for the ibm is provided (td.c) although you
- may prefer to write your own; a sample dedicated terminal driver for
- Unix, "h19.c" is also provided. Chosing between options is mostly a
- matter of chosing the proper defines and linking the appropriate driver.
-
-
- WHAT ISN'T
-
- All code which requires child processes is ifdeffed out if compiled with
- "UNIX" defined. Most of this code is simply inappropriate to a single
- process o.s., although one might wish to kludge some things, such as
- running a shell in a window. Hence, you can't expect Jove under MS-DOS
- to run the compiler, or "make" a program as you can under Unix.
-
- The tags package has been included, but not tested under MS-DOS. Unlike
- emacs, Jove requires a separate tags program to create the tagfile.
- There is nothing magic about this code, and it will probably work if you
- want to write a tags program.
-
-
- WHAT YOU NEED TO RUN JOVE UNDER MS-DOS
-
- If you have an IBM PC or PC-compatible machine, with at least 256K of
- memory, you can compile the sources directly without modification.
- Without modification to the sources, the machine must have software
- keyboard routines similar to the ibm, and a display like either the ibm
- monochrome or color display.
-
- It is relatively easy to adapt the sources to any MS-DOS machine,
- however. The low level keyboard routines are in the file "rawio.asm"
- which is short and sweet and easily modified. The screen routines are in
- the file "td.c" and should be self evident.
-
- While a hard disk is not mandatory for running Jove, the frequency of
- swapping to the temp file on a floppy will probably drive you insane.
- If you are insistent about using Jove on a floppy-only machine, you
- should limit the size of the temp file (see "tune.h") and consider
- optimizing the swap routines.
-
- The only machines that Jove has been tested on so far are: IBM PC,
- IBM PC portable, IBM PC XT, Zenith Z-150, Micromint Mpx-16. A driver for
- the Texas Instruments may be out soon.
-
-
- WHAT YOU NEED TO COMPILE AND LINK JOVE UNDER MS-DOS
-
- The sources have been developed using the Computer Innovations C86
- compiler, versions 2.10 and 2.20. The "large" memory model is necessary.
- If you have 2.20 or later versions of 2.10 there should be no problem.
- Some early 2.10 versions have errors in the library, particular a stack
- problem with "longjmp()" in the large memory model, and are missing the
- function "filedir()" which is necessary.
-
- Some calls specific to the C86 library are used, so if you use a
- different compiler, you will need to write some routines to substitute
- for these. The most important are:
-
- _fmtout() used in "format.c". This is the formatting call which
- handles variable arguments, similar to _doprnt() under Unix. You will
- have to search your library sources.
-
- abstoptr() and ptrtoabs() used in the screen driver. You can
- probably get around these fairly easily, or write your own driver.
-
- filedir() used in "stat.c". This can be easily written in assembly
- language - return a null terminated list of files in the current
- directory.
-
- setjmp() and longjmp(). These are not implemented in some versions
- of C. Your compiler MUST support these.
-
- If you value your sanity, you will get a hold of a hard-disk based
- system to compile and link Jove, even if you target machine is a
- floppy-based system. Even with the hard disk, it takes about an HOUR to
- compiler and link all the files. I have no idea how long this would take
- using floppies, and have no intention of finding out.
-
-
- FILES PRESENT
-
-
- make/make.c These are the sources for "make" for MS-DOS, from the
- make/makeutil.c usenet, adapted to compile with C86.
-
- make/makefile Makefile for "make" for MS-DOS.
-
-
- makefile.ibm Makefile for MS-DOS version, works with "make", above.
- Modify for you own system.
-
- makefile.unix Makefile for Unix system.
-
- joveline Info for link.
-
- CHANGES.DOC General info. and bug list.
-
- READ.ME This file.
- jove.man Formatted manual entry.
-
- buf.c buffer and file related commands.
- case.c case-region and case-word functions.
- cmode.c routines for c-mode, paren-matching.
- curs.c cursor placement.
- delete.c character, word, line deletion.
- disp.c screen update routines.
- draw.c message and modeline formatting.
- extend.c completer and misc. routines.
- format.c formatting, variable args.
- funcs.c function defs, etc.
- inc.c incremental search.
- insert.c insert, yank routines.
- inter.c help routines.
- io.c file routines.
- main.c main loop.
- marks.c routines to move the mark.
- meta.c meta commands.
- misc.c misc. commands.
- move.c routines to move the point.
- proc.c shell commands.
- re.c search/replace, etc.
- screen.c screen image routines.
- tag.c tag routines.
- temp.c manipulating temp file.
- term.c basic termcap initialization.
- terms.c terminal/screen output routines.
- ttout.c character output routines.
- wind.c window management routines.
-
- stat.c MS-DOS kludge for stat() call.
- strncpy.c MS-DOS slightly mod from std library.
- gcsec.asm MS-DOS time kludge for sleep().
- rawio.asm MS-DOS raw character input.
-
- td.c MS-DOS driver for ibm mono, color, or tecmar
- graphics master display.
-
- h19.c UNIX sample dedicated driver.
-
- files.h file mode defs.
- funcs.h misc. function defs.
- jove.h main include file.
- screen.h screen image structs and declarations.
- signal.h for MS-DOS kludges.
- stat.h for MS-DOS kludges.
- td.h MS-DOS screen defs.
- tec.h MS-DOS hardware screen defs.
- temp.h temp file defs.
- term.h terminal/screen defs.
- termcap.h termcap defs.
- tm.h screen driver struct.
- tune.h system specifics.
- whoami.h kludge.
-
- lib/findcom.c Unix-only. describe command function.
- lib/describe.com command descriptions for findcom.
- lib/commands.1 Unformatted manual entry.
- lib/jove.1 Unformatted manual entry.
-
-
- OPTIONS
-
- UNIX Unix o.s. If undefined, then MS-DOS assumed.
-
- VAX Valid if Unix defined only.
-
- TERMCAP If Unix, use termcap driver. Otherwise, assume
- a special driver such as "h19.c" installed.
- Do NOT define this if using MS-DOS.
-
- IBMMONO If using "td.c" driver, specifies IBM monochrome display
- or equivalent hardware.
-
- COLOR If using "td.c" driver, specifies IBM color display
- or equivalent hardware. NOTE: With the IBM color display
- and the "td" driver, you will experience "flicker" when
- writing to the screen. This will not be true when using a
- Zenith Z-150 or similar machine. You can modify the
- driver to check for scan retrace using the 6845 but
- the driver will be slower.
-
- TECMAR If using "td.c" driver, specifies TECMAR monochrome display
- in 43-line mode. If you are using the graphics master
- and don't want 43-lines, then specifiy IBMMONO.
-
-
- INSTALLATION FOR MS-DOS
-
- 1) Copy all the .c and .asm files to an appropriate directory on your
- system. Copy the makefile ("makefile.ibm") to the directory and rename
- it "makefile". Copy "jovelink" into the current directory. Be sure you
- have enough disk space!
-
- 2) Create a version of "make" which will work on the makefile.
- The necessary files are "make.c" and "makeutil.c".
-
- 3) Edit the makefile for jove ("makefile.ibm") for you system
- configuration. The key items to check are default search paths for
- include files (i.e. "\src\include") and your screen configuration for
- IBMMONO, TECMAR, or COLOR (see above). Also edit the paths under
- "install" to be appropriate for your system.
-
- 4) Edit the file "jovelink" so that the path to your library is correct.
- "biglib" is the name I use for the "C86B2S" library. Make certain you
- specify the "large" model library.
-
- 5) Put the necessary include files for the assembly language files
- (model.h, prologue.h, epilogue.h) in the current directory and edit
- "model.h" to reflect the large memory model. These include files are
- supplied with C86.
-
- 6) If you have more than 256K and want Jove to use it, copy "default.c"
- from "base.arc" in the C86 sources and change _MAXFMEM to a suitable
- value. compile "default.c" and edit "jovelink" to include the .obj
- file before the library search. See the C86 manual (p. 3-4) for
- information on this.
-
- 7) Run "make". The program takes about an hour to compile and link on a
- system with a hard disk and "buffers = 10" in the config file. You will
- get some WARNINGS from the compiler, particularly about "function to
- ptr" conversion. You can ignore these.
-
-
- OPERATION
-
- Jove under MS-DOS operates about the same as under Unix, with a few
- differences. Under MS-DOS, the "temp" file is placed in the current
- directory. It is created when Jove is fired up, and goes away when Jove
- exits. The temp file is limited to 256K but this can be changed (see
- "tune.h"). File names can be entered in upper or lower case - Jove will
- give buffers associated with file names an upper case name. However, the
- buffer can be referenced in lower case. Files outside the current
- directory can be edited, but only by giving the ABSOLUTE path to the
- file: i.e. "\src\jove\main.c" will work but "..\main.c" will not.
-
- Jove has been run under MS-DOS on four different machines for about 5
- months now without significant problems. There are a few bugs which need
- to be modified (see the file "changes.doc"). Please let me know of your
- experiences, gripes etc.. Try to be constructive and informative - I
- didn't write Jove, I only hacked it, and in places you will know more
- about the code than I do!
-
-
-
- Ken Mitchum (km@cadre.ARPA)
- Decision Systems Laboratories
- University of Pittsburgh
- 1360 Scaife Hall
- Pittsburgh, Pa. 15261
- April 18,1985
-
-
-
-
-